package net.begincode.service.project;

import java.util.List;

import net.begincode.bean.BcUser;
import net.begincode.bean.ProjectStage;

public interface ProjectStageService {
	/**
	 * 保存项目阶段信息
	 * */
	public int saveProjectStage(ProjectStage projectStage);
	
	/**
	 * 根据代码id查询最新n个相关项目过程
	 * */
	public  List<ProjectStage> selNewProStageByCodeId(String codeId,int n);
	/**
	 * 根据代码id查询最新n个相关项目过程cache
	 * */
	public  List<ProjectStage> selNewProStageByCodeIdCache(String codeId,int n);
	
	/**
	 * 查询最新项目阶段
	 * */
	public List<ProjectStage> selNewProStageLimitN(int n);
	/**
	 * 查询最新项目阶段
	 * */
	public List<ProjectStage> selNewProStageLimitNCache(int n);
	
	/**
	 * 根据项目表示查询阶段
	 * */
	public List<ProjectStage> selProStageByProject(String projectId);
	/**
	 * 根据项目表示查询阶段
	 * */
	public List<ProjectStage> selProStageByProjectCache(String projectId);
	
	/**
	 * 查看项目阶段信息
	 * */
	public ProjectStage selProStageById(String proStageId);
	/**
	 * 查看项目阶段信息cache
	 * */
	public ProjectStage selProStageByIdCache(String proStageId);
	
	/**
	 * 根据项目id，阶段id查询附近n个项目阶段
	 * */
	public List<ProjectStage> selProStageByParam(int projId,int proStageId,int n);
	/**
	 * 根据项目id，阶段id查询附近n个项目阶段cache
	 * */
	public List<ProjectStage> selProStageByParamCache(int projId,int proStageId,int n);
	/**
	 * 根据参数查询项目阶段信息
	 * */
	public List<ProjectStage>  selProStageByParam(ProjectStage proStage);
	
	/**
	 * 修改项目阶段信息
	 * */
	public int updProStage(ProjectStage proStage);
	/**
	 * 修改项目章节阅读次数
	 * */
	public void updProStageViewCount(String id, int count);
}
